package com.caiwm.view.panel;

import com.caiwm.view.action.loginAction.ResetBtnAction;
import com.caiwm.view.action.loginAction.SubmitBtnAction;
import com.sun.deploy.panel.GeneralPanel;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * <pre>
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃  神兽保佑
 * 　　　　┃　　　┃  代码无bug
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━感觉萌萌哒━━━━━━
 * </pre>
 *
 * @author shiqla
 * @Desc ${DESC}
 * @Date 2019/1/7/007
 */
public class LoginPanel {

    private JPanel jPanel,userPanel,passwdPanel,btnPanel;
    private JLabel userLabel,passwdLabel;
    private JTextField userField,passwdField;
    private JButton submitBtn,resetBtn;

    private JFrame jFrame;


    public LoginPanel(JFrame jFrame){
        this.jFrame = jFrame;
        jPanel = new JPanel();
        userPanel = new JPanel();
        passwdPanel = new JPanel();
        btnPanel = new JPanel();

        userLabel = new JLabel("用户名:");
        passwdLabel = new JLabel("密  码:");

        userField = new JTextField("shiqla",15);
        passwdField = new JPasswordField("shiqla",15);


        submitBtn = new JButton("提 交");
        resetBtn = new JButton("重 置");
    }

    public JPanel renderLoginWindow(){
        userPanel.add(userLabel);
        userPanel.add(userField);

        passwdPanel.add(passwdLabel);
        passwdPanel.add(passwdField);

        btnPanel.add(submitBtn);
        btnPanel.add(resetBtn);

        jPanel.setLayout(new GridLayout(3,1));

        jPanel.add(userPanel);
        jPanel.add(passwdPanel);
        jPanel.add(btnPanel);

        this.bindActionListener();

        return this.jPanel;
    }

    public JTextField getUserField() {
        return userField;
    }

    public JTextField getPasswdField() {
        return passwdField;
    }

    public JFrame getjFrame() {
        return jFrame;
    }

    /**
     * 事件监听绑定
     */
    private void bindActionListener(){
        SubmitBtnAction submitBtnAction = new SubmitBtnAction(this);
        this.submitBtn.addActionListener(submitBtnAction);

        ResetBtnAction resetBtnAction = new ResetBtnAction(this);
        this.resetBtn.addActionListener(resetBtnAction);
    }

}
